package net.csdn.business.discuss.api.mapper;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import net.csdn.business.discuss.api.model.entity.DiscussSection;
import net.csdn.business.discuss.api.model.query.DiscussSectionQuery;
import net.csdn.business.discuss.api.model.vo.DiscussSectionVO;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * 讨论类型分组Mapper接口
 * 
 * @author Admin Cloud
 * @date 2023-07-15
 */
public interface DiscussSectionMapper  extends BaseMapper<DiscussSection>
{

    /**
     * 分页查询讨论类型分组列表
     *
     * @param query 字典类型信息
     * @return 字典类型集合信息
     */
    public List<DiscussSectionVO> findPageList(Page page, @Param("query") DiscussSectionQuery query);

    /**
     * 查询讨论类型分组
     * 
     * @param id 讨论类型分组主键
     * @return 讨论类型分组
     */
    @Select("select t1.* FROM discuss_section t1 where t1.object_id=#{id}")
    public DiscussSectionVO selectDiscussSectionById(String id);


    @Select("select t1.* FROM discuss_section t1 where t1.source_id=#{sourceId} order by t1.created_date asc")
    public List<DiscussSectionVO> selectDiscussSectionListBySourceId(String sourceId);

    /**
     * 查询讨论类型分组列表
     * 
     * @param query 讨论类型分组
     * @return 讨论类型分组集合
     */
    public List<DiscussSectionVO> selectDiscussSectionList(@Param("query") DiscussSectionQuery query);

    /**
     * 新增讨论类型分组
     * 
     * @param discussSection 讨论类型分组
     * @return 结果
     */
    public Integer insertDiscussSection(DiscussSection discussSection);

    /**
     * 修改讨论类型分组
     * 
     * @param discussSection 讨论类型分组
     * @return 结果
     */
    public Integer updateDiscussSection(DiscussSection discussSection);

    /**
     * 删除讨论类型分组
     * 
     * @param id 讨论类型分组主键
     * @return 结果
     */
    public Integer deleteDiscussSectionById(String id);

}
